package com.hzya.frame.system.dictionaryshop.service;

import com.hzya.frame.system.dictionaryshop.entity.DictionaryShopEntity;
import com.hzya.frame.utils.core.service.IBaseService;

import java.util.List;
import java.util.Map;

/**
 * @description: 数据字典  service
 * @tableName: system_dictionaryshop
 * @entityName: DictionaryShopEntity
 * @author: gjh
 * @history: 1.0
 */
public interface IDictionaryShopService extends IBaseService<DictionaryShopEntity, Long> {
    /**
     * 批量保存系统参数
     *
     * @param sysconifList
     * @throws Exception
     */
    public void batchSave(List<DictionaryShopEntity> sysconifList) throws Exception;

    /**
     * 批量保存数据字典
     *
     * @return
     * @throws Exception
     */
    public DictionaryShopEntity saveMulit(DictionaryShopEntity DictionaryShopEntity) throws Exception;

    /**
     * 查询指定tab_name,column_name的数据字典
     *
     * @param DictionaryShopEntity
     * @return
     */
    public List<DictionaryShopEntity> queryDictionaries(DictionaryShopEntity DictionaryShopEntity);

    /***
     * 根据tab_name，column_name查询某类数据字典的集合
     * @param tab_name
     * @param column_name
     * @return
     */
    public List<DictionaryShopEntity> queryDictionaries(String tab_name, String column_name);

    /***
     * 根据tab_name，column_name，column_value查询某条数据字典信息
     * @param tab_name
     * @param column_name
     * @param column_value
     * @return
     */
    public DictionaryShopEntity querySelfDictionary(String tab_name, String column_name, String column_value);

    /**
     * 查询column_value 为空的数据，可以理解为数据字典的大类
     *
     * @return
     */
    public List<DictionaryShopEntity> getTypeList();

    /**
     * @return
     */
    public Map<String, DictionaryShopEntity> createDictionaryCacheMap();

    List<DictionaryShopEntity> queryColumn_name(DictionaryShopEntity domain);
    /** 获取数据字典大类*/
    List<DictionaryShopEntity> ListGetTypeList();
}